package br.com.siscov.control.form;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

import br.com.siscov.model.vo.AtendenteVo;
import br.com.siscov.model.vo.GerenteVo;
import br.com.siscov.model.vo.LoginVo;
import br.com.siscov.util.Constantes;
import br.com.siscov.util.Utilitario;

public class AtendenteForm extends ActionForm{

	private static final long serialVersionUID = 1L;

	private String matricula;
	private String escolaridade;
	private String numCartTrabalho;
	private String cursos;
	private String vlpassagem;
	private String dataAdmissao;
	private String dataDemissao;
	private String salario;
	private String nome;
	private String datanasc;
	private String telefone;
	private String sexo;
	private String rg;
	private String orgEmissor;
	private String cpf;
	private String bairro;
	private String subBairro;
	private String cep;
	private String logradouro;
	private String numero;
	private String cargo;
	private String login;
	private String tipo;
	private String senha;
	
	public String getMatricula() {
		return matricula;
	}
	public void setMatricula(String matricula) {
		this.matricula = matricula;
	}
	public String getEscolaridade() {
		return escolaridade;
	}
	public void setEscolaridade(String escolaridade) {
		this.escolaridade = escolaridade;
	}
	public String getNumCartTrabalho() {
		return numCartTrabalho;
	}
	public void setNumCartTrabalho(String numCartTrabalho) {
		this.numCartTrabalho = numCartTrabalho;
	}
	public String getCursos() {
		return cursos;
	}
	public void setCursos(String cursos) {
		this.cursos = cursos;
	}
	public String getVlpassagem() {
		return vlpassagem;
	}
	public void setVlpassagem(String vlpassagem) {
		this.vlpassagem = vlpassagem;
	}
	public String getDataAdmissao() {
		return dataAdmissao;
	}
	public void setDataAdmissao(String dataAdmissao) {
		this.dataAdmissao = dataAdmissao;
	}
	public String getDataDemissao() {
		return dataDemissao;
	}
	public void setDataDemissao(String dataDemissao) {
		this.dataDemissao = dataDemissao;
	}
	public String getSalario() {
		return salario;
	}
	public void setSalario(String salario) {
		this.salario = salario;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getDatanasc() {
		return datanasc;
	}
	public void setDatanasc(String datanasc) {
		this.datanasc = datanasc;
	}
	public String getTelefone() {
		return telefone;
	}
	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}
	public String getSexo() {
		return sexo;
	}
	public void setSexo(String sexo) {
		this.sexo = sexo;
	}
	public String getRg() {
		return rg;
	}
	public void setRg(String rg) {
		this.rg = rg;
	}
	public String getOrgEmissor() {
		return orgEmissor;
	}
	public void setOrgEmissor(String orgEmissor) {
		this.orgEmissor = orgEmissor;
	}
	public String getCpf() {
		return cpf;
	}
	public void setCpf(String cpf) {
		this.cpf = cpf;
	}
	public String getBairro() {
		return bairro;
	}
	public void setBairro(String bairro) {
		this.bairro = bairro;
	}
	public String getSubBairro() {
		return subBairro;
	}
	public void setSubBairro(String subBairro) {
		this.subBairro = subBairro;
	}
	public String getCep() {
		return cep;
	}
	public void setCep(String cep) {
		this.cep = cep;
	}
	public String getLogradouro() {
		return logradouro;
	}
	public void setLogradouro(String logradouro) {
		this.logradouro = logradouro;
	}
	public String getNumero() {
		return numero;
	}
	public void setNumero(String numero) {
		this.numero = numero;
	}
	public String getCargo() {
		return cargo;
	}
	public void setCargo(String cargo) {
		this.cargo = cargo;
	}
	public String getLogin() {
		return login;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	public String getTipo() {
		return tipo;
	}
	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}

	public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {

		ActionErrors errors = new ActionErrors();

		if (this.bairro == null || Constantes.EMPTY.equals(this.bairro.trim())) {
			errors.add(ActionErrors.GLOBAL_MESSAGE, new ActionMessage(Constantes.ERRO_CAMPO_OBRIGATORIO, Constantes.CAMPO_BAIRRO));
		}

		if (this.escolaridade == null || Constantes.EMPTY.equals(this.escolaridade.trim())) {
			errors.add(ActionErrors.GLOBAL_MESSAGE, new ActionMessage(Constantes.ERRO_CAMPO_OBRIGATORIO, Constantes.CAMPO_ESCOLARIDADE));
		}

		return errors;
	}

	public AtendenteVo populaVO() throws Exception {
		AtendenteVo atendenteVo = new AtendenteVo();
		LoginVo loginVo = new LoginVo();

		atendenteVo.setMatricula(new Integer(this.matricula));
		atendenteVo.setNome(this.nome);
		atendenteVo.setDatanasc(Utilitario.formataData(this.datanasc));
		atendenteVo.setTelefone(this.telefone);
		atendenteVo.setSexo(this.sexo);
		atendenteVo.setRg(new Long(this.rg));
		atendenteVo.setOrgEmissor(this.orgEmissor);
		atendenteVo.setCpf(this.cpf);
		atendenteVo.setEscolaridade(this.escolaridade);
		atendenteVo.setCursos(this.cursos);
		atendenteVo.setNumCartTrabalho(new Integer(this.numCartTrabalho));
		atendenteVo.setLogradouro(this.logradouro);
		atendenteVo.setNumero(new Integer(this.numero));
		atendenteVo.setCep(this.cep);
		atendenteVo.setBairro(this.bairro);
		atendenteVo.setSubBairro(this.subBairro);
		atendenteVo.setDataAdmissao(Utilitario.formataData(this.dataAdmissao));
		atendenteVo.setVlpassagem(new Double(this.vlpassagem));
		atendenteVo.setSalario(new Double(this.salario));
		atendenteVo.setCargo(this.cargo);

		loginVo.setLogin(this.login);
		loginVo.setSenha(this.senha);
		loginVo.setTipo(new Integer(this.tipo));

		atendenteVo.setLoginVo(loginVo);

		atendenteVo.setVlpassagem(new Double(this.vlpassagem));

		return atendenteVo;
	}

}
